/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package chequeTeatinos.beans;

import chequeTeatinos.ejb.EmpresaFacade;
import chequeTeatinos.ejb.OfertaFacade;
import chequeTeatinos.entities.Empresa;
import chequeTeatinos.entities.Oferta;
import java.io.File;
import java.io.Serializable;
import java.util.Iterator;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author escabia
 */
@ManagedBean
@RequestScoped
public class EmpresasBean implements Serializable {

    @EJB
    private OfertaFacade ofertaFacade;
    
    @EJB
    private EmpresaFacade empresaFacade;

    private Empresa selectedEmpresa;  
    
    private List<Empresa> empresas;
    
    /**
     * Creates a new instance of EmpresasBean
     */
    public EmpresasBean() {
    }
    
    @PostConstruct
    public void cargarEmpresas () {
        this.empresas = empresaFacade.findAll();
    }
    
    public String deleteEmpresa(){
        System.out.println("Remove empresa" + selectedEmpresa.getNombre());
        for(Iterator it = selectedEmpresa.getOfertaCollection().iterator(); it.hasNext();){
            ofertaFacade.remove((Oferta)it.next());
        }
        String absoluteDiskPath = FacesContext.getCurrentInstance().getExternalContext().getRealPath("/");
        String path=absoluteDiskPath.substring(0,absoluteDiskPath.indexOf("build"));
        String destPath = path+"web"+selectedEmpresa.getImagen();
        
        File f =  new File(destPath);
        f.delete();
        
        empresaFacade.remove(selectedEmpresa);
        return "businessadmin";
    }
    
    public EmpresaFacade getEmpresaFacade() {
        return empresaFacade;
    }

    public void setEmpresaFacade(EmpresaFacade empresaFacade) {
        this.empresaFacade = empresaFacade;
    }

    public List<Empresa> getEmpresas() {
        return empresas;
    }

    public void setEmpresas(List<Empresa> empresas) {
        this.empresas = empresas;
    }

    public Empresa getSelectedEmpresa() {
        return selectedEmpresa;
    }

    public void setSelectedEmpresa(Empresa selectedEmpresa) {
        this.selectedEmpresa = selectedEmpresa;
    }
   
}
